//对axios进行二次封装(实例化axios对象,设置请求拦截器,设置响应拦截器)
import axios from 'axios'

//实例化axios对象
var service=axios.create({
    baseURL: '',//基准路径
    timeout:10*1000,//超时时间
})
//设置请求拦截器
service.interceptors.request.use(
    (config) => {
        //一般情况下,在这里设置请求头(这些请求头应该是服务端必须要求携带的)
        config.headers.Authorization="Bearer"+" "+localStorage.getItem("token")
       // config.headers['Authorization']="Bearer"+" "+localStorage.getItem("token")
        //config.headers.XToken="Bearer"+" "+localStorage.getItem("token")
        return config
    },
    (err) => {
        return Promise.reject(err)
    }
)
//设置响应拦截器
service.interceptors.response.use(
    (res) => {
        return res
    },
    (err) => {
        //一般情况下,在这里处理服务端返回的错误码
        if (err.response.status == 401) {
            alert("身份验证失败,登陆过期,请重新登录")
            //跳转到登录页
            //删除过期的token
        } else if (err.response.status == 404) {
            alert('访问路径有误')
        } else if (err.response.status == 500) {
            alert("服务器内部错误!")
        }
        return Promise.reject(err)
    }
)

export default service